package com.wh.wisdomsite.xbox.st.entity;

import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;
import java.util.Map;

/**
 * 仓库模块-采购申请清单表
 * @version V1.0
 * @author: 杨世强
 * @Package com.wh.wisdomsite.xbox.st.entity
 * @date 2018-12-24 11:40
 * @Copyright 企业版权所有
 * @Company 贵州万华科技有限公司Copyright (c) 2018
 */
@TableName("st_purchaseDetail")
public class PurchaseDetail extends Model<PurchaseDetail> {
    /**
     * 采购申请清单ID
     */
    @TableId(type = IdType.UUID)
    private String purdId;
    /**
     * 采购申请ID
     */
    @TableField("purId")
    private String purId;
    /**
     * 物料ID
     */
    @TableField("maId")
    private String maId;
    /**
     * 采购
     */
    @TableField("purdNum")
    private Double purdNum;
    /**
     * 采购合计
     */
    @TableField("purdTotalPrice")
    private Double purdTotalPrice;
    /**
     * 要求说明
     */
    @TableField("explain")
    private String explain;
    /**
     * 所属系统
     */
    @TableField("belongSystem")
    private String belongSystem;
    /**
     * 请购人
     */
    @TableField("reqPerson")
    private String reqPerson;
    /**
     * 请购日期
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField("reqDate")
    private Date reqDate;
    /**
     * 请购备注
     */
    @TableField("reqRemark")
    private String reqRemark;
    /**
     * 采购人
     */
    @TableField("purdPerson")
    private String purdPerson;
    @TableField(exist = false)
    private String pullperson;
    /**
     * 到货时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField("purdDate")
    private Date purdDate;
    /**
     * 采购备注
     */
    @TableField("purdRemark")
    private String purdRemark;
    /**
     * 收货状态
     */
    @TableField("purdState")
    private String purdState;
    /**
     * 数据状态
     */
    @TableField("dataState")
    private Integer dataState;
    /**
     * 创建者
     */
    @TableField("createBy")
    private String createBy;
    /**
     * 创建时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField("createDate")
    private Date createDate;
    /**
     * 更新者
     */
    @TableField("updateBy")
    private String updateBy;
    /**
     * 更新时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField("updateDate")
    private Date updateDate;

    /**
     * 物料实体，不入库
     */
    @TableField( exist = false)
    private Material material;

    /**
     * 合同单剩余数量及合同单价，不入库
     */
    @TableField( exist = false)
    private Map<String,Object> contract;

    public String getPurdId() {
        return purdId;
    }

    public void setPurdId(String purdId) {
        this.purdId = purdId;
    }

    public String getPurId() {
        return purId;
    }

    public void setPurId(String purId) {
        this.purId = purId;
    }

    public String getMaId() {
        return maId;
    }

    public void setMaId(String maId) {
        this.maId = maId;
    }

    public Double getPurdNum() {
        return purdNum;
    }

    public void setPurdNum(Double purdNum) {
        this.purdNum = purdNum;
    }

    public Double getPurdTotalPrice() {
        return purdTotalPrice;
    }

    public void setPurdTotalPrice(Double purdTotalPrice) {
        this.purdTotalPrice = purdTotalPrice;
    }

    public String getExplain() {
        return explain;
    }

    public void setExplain(String explain) {
        this.explain = explain;
    }

    public String getBelongSystem() {
        return belongSystem;
    }

    public void setBelongSystem(String belongSystem) {
        this.belongSystem = belongSystem;
    }

    public String getReqPerson() {
        return reqPerson;
    }

    public void setReqPerson(String reqPerson) {
        this.reqPerson = reqPerson;
    }

    public Date getReqDate() {
        return reqDate;
    }

    public void setReqDate(Date reqDate) {
        this.reqDate = reqDate;
    }

    public String getReqRemark() {
        return reqRemark;
    }

    public void setReqRemark(String reqRemark) {
        this.reqRemark = reqRemark;
    }

    public String getPurdPerson() {
        return purdPerson;
    }

    public void setPurdPerson(String purdPerson) {
        this.purdPerson = purdPerson;
    }

    public String getPullperson() {
        return pullperson;
    }

    public void setPullperson(String pullperson) {
        this.pullperson = pullperson;
    }

    public Date getPurdDate() {
        return purdDate;
    }

    public void setPurdDate(Date purdDate) {
        this.purdDate = purdDate;
    }

    public String getPurdRemark() {
        return purdRemark;
    }

    public void setPurdRemark(String purdRemark) {
        this.purdRemark = purdRemark;
    }

    public String getPurdState() {
        return purdState;
    }

    public void setPurdState(String purdState) {
        this.purdState = purdState;
    }

    public Integer getDataState() {
        return dataState;
    }

    public void setDataState(Integer dataState) {
        this.dataState = dataState;
    }

    public String getCreateBy() {
        return createBy;
    }

    public void setCreateBy(String createBy) {
        this.createBy = createBy;
    }

    public Date getCreateDate() {
        return createDate;
    }

    public void setCreateDate(Date createDate) {
        this.createDate = createDate;
    }

    public String getUpdateBy() {
        return updateBy;
    }

    public void setUpdateBy(String updateBy) {
        this.updateBy = updateBy;
    }

    public Date getUpdateDate() {
        return updateDate;
    }

    public void setUpdateDate(Date updateDate) {
        this.updateDate = updateDate;
    }

    public Material getMaterial() {
        return material;
    }

    public void setMaterial(Material material) {
        this.material = material;
    }

    public Map<String, Object> getContract() {
        return contract;
    }

    public void setContract(Map<String, Object> contract) {
        this.contract = contract;
    }

    @Override
    protected Serializable pkVal() {
        return this.purdId;
    }
}
